html,
body,
#layout {
  height: 100%;
}

iframe {
  width: 100%;
  height: 100%;
  border: none;
}

#layout,
#menu,
.menu-link {
  transition: all 0.2s ease-out;
}

/*
This is the parent `<div>` that contains the menu and the content area.
*/
#layout {
  position: relative;
  left: 0;
  padding-left: 0;
}
#layout.active #menu {
  left: 320px;
  width: 320px;
}

#layout.active .menu-link {
  left: 320px;
}

/*
The `#menu` `<div>` is the parent `<div>` that contains the `.pure-menu` that
appears on the left side of the page.
*/

#menu {
  margin-left: -320px; /* "#menu" width */
  width: 320px;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 1000; /* so the menu or its navicon stays above all content */
  background: #222;
  overflow-y: auto;
}

#menu a {
  color: #bbb;
  border: none;
  padding: 0.8rem 0 0.8rem 0.8rem;
}
#menu a:hover,
#menu a:focus {
  background: #444;
}
#menu .pure-menu-selected a {
  color: #fff;
  background: #18d;
}

/*
Add that light border to separate items into groups.
*/
#menu .pure-menu ul,
#menu .pure-menu .menu-item-divided {
  border-top: 1px solid #333;
}
/*
This styles the menu heading.
*/
#menu .pure-menu-heading {
  font-size: 110%;
  color: #fff;
  margin: 0;
  text-transform: none;
  display: flex;
  align-items: center;
  padding: 1rem 0 1rem 0.8rem;

  background-image: url("GitHub-Mark-Light-64px.png");
  background-color: rgba(34, 34, 34, 0.6);
  background-repeat: no-repeat;
  background-position: right -4px bottom -3px;
  background-blend-mode: darken;
}

#menu .pure-menu-heading:focus,
#menu .pure-menu-heading:hover {
  background-image: url("GitHub-Mark-Light-64px.png");
  background-color: rgba(68, 68, 68, 0.6);
  background-repeat: no-repeat;
  background-position: right -4px bottom -3px;
  background-blend-mode: darken;
}

/* -- Dynamic Button For Responsive Menu -------------------------------------*/

/*
The button to open/close the Menu is custom-made and not part of Pure. Here's
how it works:
*/

/*
`.menu-link` represents the responsive menu toggle that shows/hides on
small screens.
*/
.menu-link {
  position: fixed;
  display: block; /* show this only on small screens */
  top: 0;
  left: 0; /* "#menu width" */
  background: #000;
  background: rgba(0, 0, 0, 0.7);
  font-size: 10px; /* change this value to increase/decrease button size */
  z-index: 10;
  width: 2em;
  height: auto;
  padding: 2.1em 1.6em;
}

.menu-link:hover,
.menu-link:focus {
  background: #000;
}

.menu-link span {
  position: relative;
  display: block;
}

.menu-link span,
.menu-link span:before,
.menu-link span:after {
  background-color: #fff;
  width: 100%;
  height: 0.2em;
}

.menu-link span:before,
.menu-link span:after {
  position: absolute;
  margin-top: -0.6em;
  content: " ";
}

.menu-link span:after {
  margin-top: 0.6em;
}

/* -- Responsive Styles (Media Queries) ------------------------------------- */

/*
Hides the menu at `48em`, but modify this based on your app's needs.
*/
@media (min-width: 48em) {
  .header,
  .content {
    padding-left: 2em;
    padding-right: 2em;
  }

  #layout {
    padding-left: 320px; /* left col width "#menu" */
    left: 0;
  }
  #menu {
    left: 320px;
  }

  .menu-link {
    position: fixed;
    left: 320px;
    display: none;
  }

  #layout.active .menu-link {
    left: 320px;
  }
}

@media (max-width: 48em) {
  /* Only apply this when the window is small. Otherwise, the following
    case results in extra padding on the left:
        * Make the window small.
        * Tap the menu to trigger the active state.
        * Make the window large again.
    */
  #layout.active {
    position: relative;
    left: 150px;
  }
}
